package com.allwees.bs.core.modelbase.importdata;

import lombok.Data;
import org.apache.commons.lang3.StringUtils;

/**
 * 导入结果
 *
 * @author yangylsky
 * @since 2020-03-04
 *
 */
@Data
public class ImportResult {
	private boolean success = true;

	private int validNum = 0;

	private int existNum = 0;

	private int ignoreNum;

	private int newNum = 0;

	private int updateNum = 0;

	private int errorNum = 0;

	private boolean ignoreError = false;

	private StringBuilder warnMsg = new StringBuilder();

	private StringBuilder errorMsg = new StringBuilder();

	private StringBuilder infoMsg = new StringBuilder();


	public void incExistNum() {
		existNum++;
	}

	public void incNewNum() {
		newNum++;
	}

	public void incIgnoreNum(){
		ignoreNum ++;
	}

	public void clearNewNum() {
		newNum = 0;
	}

	public void incErrorNum() {
		errorNum++;
	}

	public void addWarnMsg(String msg) {
		if(StringUtils.isNotBlank(msg)) {
			if(warnMsg.length() > 0){
				warnMsg.append(",");
			}
			warnMsg.append(", ").append(msg);
		}
	}

	public void addErrorMsg(String msg) {
		if(StringUtils.isNotBlank(msg)) {
			if(errorMsg.length() > 0){
				errorMsg.append(",");
			}
			errorMsg.append(msg);
		}
	}

	public void addInfoMsg(String msg) {
		if(StringUtils.isNotBlank(msg)) {
			if(infoMsg.length() > 0){
				infoMsg.append(",");
			}
			infoMsg.append(msg);
		}
	}

	@Override
	public String toString() {
		return "ImportDataResult(success:" + success + ","
		+ "validNum:" + validNum + ","
		+ "existNum:" + existNum + ","
		+ "ignoreNum:" + ignoreNum + ","
		+ "newNum:" + newNum + ","
		+ "updateNum:" + updateNum + ")";
	}

//	public String getImportLog() {
//		return "结果: " + (success ? "成功" : "失败")
//		+ "\\n有效数据条数: " + validNum
//		+ "\\n已存在数据条数: " + existNum
//		+ "\\n忽略数据条数: " + ignoreNum
//		+ "\\n新导入数据条数: " + newNum
//		+ "\\n更新数据条数: " + updateNum
//		+ "\\n错误数据条数: " + errorNum
//		+ "\\n警告信息:" + warnMsg
//		+ "\\n错误信息:" + errorMsg
//		+ "\\n信息:" + infoMsg;
//	}
}
